home *** CD-ROM | disk | FTP | other *** search
/ The Fatted Calf / The Fatted Calf.iso / Applications / Utilities / BackSpace / Source / SleepView.m < prev    next >
Text File  |  1993-07-14  |  959b  |  46 lines

  1. //  SleepView.m
  2. //
  3. //  You may freely copy, distribute, and reuse the code in this example.
  4. //  NeXT disclaims any warranty of any kind, expressed or  implied, as to its
  5. //  fitness for any particular use.
  6.  
  7. //  This view goes in a little 4 pixel window and cause BackSpace to sleep
  8. //  whenever the cursor goes to a preselected corner.
  9.  
  10. #import "Thinker.h"
  11. #import "SleepView.h"
  12. #import <libc.h>
  13. #import <appkit/timer.h>
  14.  
  15. @implementation SleepView
  16.  
  17. - mouseEntered:(NXEvent *)theEvent
  18. {
  19.     int    looping = YES;
  20.     int doSaver = NO;
  21.     NXTrackingTimer   myTimer;
  22.  
  23.     NXBeginTimer(&myTimer, 3.0, 5.0);
  24.     while (looping)
  25.     {
  26.         theEvent = [NXApp getNextEvent: NX_TIMERMASK|NX_MOUSEEXITEDMASK];
  27.  
  28.         switch (theEvent->type)
  29.         {
  30.             case NX_TIMER:
  31.                 doSaver = YES;
  32.                 // now fall into MOUSEEXITED code
  33.  
  34.             case NX_MOUSEEXITED:
  35.                 looping = NO;
  36.                 break;
  37.         }
  38.        }
  39.  
  40.     NXEndTimer(&myTimer);
  41.     if (doSaver) [BSThinker() showFakeScreenSaver:self];
  42.     return self;
  43. }
  44.  
  45. @end
  46.